home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / os20 / wb / ArcAndMore.lha / More.rexx < prev    next >
OS/2 REXX Batch file  |  1993-02-16  |  2KB  |  86 lines

  1. /*    More.rexx    - Arexx script to show various file types,  */
  2. /*                  contents of compressed files and dirs!    */
  3. /*    Copyright (c) 1992,1993 by Markus Aalto.                */
  4. /*    V1.0:    27.10.1992                                        */
  5.  
  6. PARSE ARG FileName
  7.  
  8. More = "SYS:Tools/TextRead"
  9. MoreOpts = "SETTINGS ENV:TextRead/TextRead.prefs"
  10. IFFShow = "SYS:Utilities/VT"
  11. IFFOpts = ""
  12. LhAList = "NewC:LhA"
  13. LhAOpts = "l"
  14. ZooList = "NewC:Zoo"
  15. ZooOpts = "-l"
  16. DirList = "C:List"
  17. DirOpts = ""
  18. AmigaGuideDocs = "SC:c/AmigaGuide"
  19. AmigaGuideOpts = ""
  20.  
  21. ADDLIB('rexxsupport.library',0,-30,0)
  22.  
  23. IF FileName ~= "" THEN DO
  24.     IF LEFT(FileName,1) = '"' THEN DO
  25.         PARSE VAR FileName '"' ParsedName '"'
  26.         END
  27.     ELSE DO
  28.         ParsedName = FileName
  29.         END
  30.  
  31.     IF LEFT(STATEF(ParsedName), 3) = "DIR" THEN DO
  32.         ADDRESS COMMAND DirList ">T:morelist" FileName DirOpts
  33.         ADDRESS COMMAND More "T:morelist" MoreOpts
  34.         END
  35.     ELSE IF is_IFF_file( ParsedName ) = 1 THEN DO
  36.         ADDRESS COMMAND IFFShow FileName IFFOpts
  37.         END
  38.     ELSE DO
  39.         Extension = RIGHT(ParsedName,4)
  40.         IF Extension = ".zoo" THEN DO
  41.             ADDRESS COMMAND ZooShow ">T:morelist" ZooOpts FileName
  42.             ADDRESS COMMAND More "T:morelist" MoreOpts
  43.             END
  44.         ELSE IF Extension = ".lzh" | Extension = ".lha" THEN DO
  45.             ADDRESS COMMAND LhAList ">T:morelist" LhAOpts FileName
  46.             ADDRESS COMMAND More "T:morelist" MoreOpts
  47.             END
  48.         ELSE IF RIGHT(ParsedName,6) = ".guide" THEN DO
  49.             ADDRESS COMMAND AmigaGuideDocs FileName AmigaGuideOpts
  50.             END
  51.         ELSE DO
  52.             ADDRESS COMMAND More FileName MoreOpts
  53.             END
  54.         END
  55.        END
  56. ELSE DO
  57.     ADDRESS COMMAND More MoreOpts
  58.     END
  59.  
  60. EXIT
  61.  
  62. is_IFF_file:
  63.     Name = arg(1)
  64.     iff_file = 'iff_file'
  65.  
  66.     IF OPEN(iff_file, Name, 'r') THEN DO
  67.         Type = READCH(iff_file,4)
  68.         IF Type ~= "FORM" THEN DO
  69.             CALL CLOSE(iff_file)
  70.             return 0
  71.             END
  72.         ELSE DO
  73.             Type = READCH(iff_file,4)
  74.             Type = READCH(iff_file,4)
  75.             IF Type ~= 'ILBM' THEN DO
  76.                 CALL CLOSE(iff_file)
  77.                 return 0
  78.                 END
  79.             END
  80.         CALL CLOSE(iff_file)
  81.  
  82.         return 1
  83.         END
  84.  
  85.     return 0
  86.